// nodejs代码 
const express = require('express')
// 获取express实例 
const server = express()
const Vue = require('vue')
//2.获取渲染器实例
const { createRenderer } = require('vue-server-renderer')
const renderer = createRenderer()

// 编写路由处理不同url请求 
server.get('/', (req, res) => {
    //创建vue实例
    const app = new Vue({
        //现在只有死的内容，如果要使程序可以交互还需要激活
        template: '<div @click="onClick">{{msg}}</div>',
        data() { return { msg: 'hello, ssr' } },
        methods: {
            onClick() {
                console.log('do something');
            }
        },
    })
    //用渲染器渲染
    renderer.renderToString(app).then(html => {
        res.send(html)
    }).catch(err => {
        res.status(500)
        res.send('Internal Server Error, 500!')
    })
})

// 监听端口 
server.listen(3000, () => {
    console.log('server running!');
})